Field of the Invention
The present invention relates to the field of script processing in a server environment and more particularly to script processing in a Web application environment.
Description of the Related Art
Script processing relates to the automated execution of commands in an operating environment and dates from the earliest of personal computers. Initial forms of scripting include UNIX environment shell scripts and DOS based batch files. In both cases, the intent of a script was to automate a manual process ordinarily performed by a computing professional, and in some circumstances, to reduce the possibility of error by hard coding operating commands within a script. Whereas scripting initially related solely to the automation of operating environment commands, scripting since has become more widely used in many diverse circumstances aside from mere command automation.
In this regard, modern day scripting provides a robust programming environment that cannot be distinguished from many traditional programming environments. In particular, modern scripting languages permit full interaction with computing users and provide a full range of conditional branching and computational functionality. More recently, scripting languages even support concepts in object-oriented development such that many developers opt for scripting languages over third generation languages due to inherent simplicity of use and powerful command set not necessarily available in many programming environments.
Scripting languages have formed part and parcel of the interactive Web for more than a decade. In fact, the common gateway interface (CGI) and later the practical extraction and reporting language (PERL) scripting environments provided the computational backend for Web interfaces throughout the latter portion of the twentieth century. With both CGI and PERL, input provided by a Web page could be processed within a script defined in CGI or PERL and the result could be provided in another Web page. In both CGI and PERL, however, the Web application usually would have been singular purposed and tightly coupled to the underlying script so as to be able to provide an effective front end for the computational output produced by the script.
The traditional integration of scripts and the Web interface does not allow loose coupling and independent operation. Specifically, unless the Web interface expects output produced by a script, the Web interface will not seek to render a user interface for the output. Conversely, unless the Web interface expects to provide input to an independently executing script, the Web interface will not prompt a user to provide the input. As a result, scripts do not integrate well with independently executing Web applications.
In an independently executing Web application, the Web application accepts input via a Web interface and receives processing on the input from server side logic executing within a Web application container. Output from the Web application can be dynamically rendered through the Web interface so as to provide all of the functionality of a stand-alone application in a distributed environment. Notwithstanding, the logic executing in the server is not script logic and, as such, lacks some of the simplicity and power associated with conventional scripting. Yet, Web applications inherently lack support for dialogue based scripting.